package com.zr.repertory.inventorySettings.service;

import com.zr.inventorySettings.pojo.*;
import com.zr.util.ResultVo;

import java.util.List;

/**
 * Created by Calm on 2019/11/20.
 */
public interface InventoryService {

                                    /*
                                        库房标示部分
                               */
    /*库房标识新增接口*/
    ResultVo identificationAdd(WarehousemarkAddVo warehousemarkAddVo);
    /*库房标识查询接口*/
    ResultVo identificationQuery(WarehousemarkSelectVo warehousemarkSelectVo);
    /*库房标识修改接口*/
    ResultVo identificationUpdate(WarehousemarkUpdateVo warehousemarkUpdateVo);
    /*库房标识启用/禁用接口*/
    ResultVo identificationUpdateStatus(WarehousemarkUpdateStatusVo warehousemarkUpdateStatusVo);

                                        /*
                                            库房部分
                                      */
    /*库房新增*/
    ResultVo roomAdd(WarehouseAddVo warehouseAddVo);
    /*库房分页*/
    ResultVo roomQuerypage(WarehouseSelectVo warehouseSelectVo);
    /*库房修改*/
    ResultVo roomUpdate(WarehouseUpdateVo warehouseUpdateVo);
    /*库房启用/禁用接口*/
    ResultVo roomUpdateStatus(WarehousemarkUpdateStatusVo warehousemarkUpdateStatusVo);
                                        /*
                                            库区属性部分
                                        */
    /*库区属性新增*/
    ResultVo attributeAdd(ReservoirareapropertiesAddVo reservoirareapropertiesAddVo);
    /*库区属性分页*/
    ResultVo attributeQuery(ReservoirareapropertiesSelectVo reservoirareapropertiesSelectVo);
    /*库区属性修改接口*/
    ResultVo attributeUpdate(ReservoirareapropertiesUpdateVo reservoirareapropertiesUpdateVo);
    /*库区属性启用/禁用接口*/
    ResultVo attributeUpdateStatus(WarehousemarkUpdateStatusVo warehousemarkUpdateStatusVo);
                                            /*
                                                库区部分
                                            */
    /*库房编码下拉框接口*/
    ResultVo roomXiala();
    /*新增库区接口*/
    ResultVo roomareaAdd(ReservoirareaAddVo reservoirareaAddVo);
    /*库区分页接口*/
    ResultVo roomareaQuerypage(ReservoirareaSelectVo reservoirareaSelectVo);
    /*库区修改接口*/
    ResultVo roomareaUpdate(ReservoirareaUpdateVo reservoirareaUpdateVo);
    /*库区查看接口*/
    ResultVo roomareaSee(ReservoirareaSeeVo reservoirareaSeeVo);
    /* 库区启用/禁用接口*/
    ResultVo roomareaUpdateStatus(WarehousemarkUpdateStatusVo warehousemarkUpdateStatusVo);

                                            /*
                                                库位部分
                                            */
    /*库区编码下拉框接口*/
    ResultVo roomSpaceXiala(Integer warehouseid);
    /*根据库区编码展示原有的库位信息*/
    ResultVo roomSpaceKuwei(Integer reservoirareaid);
    /*库位新增接口*/
    ResultVo roomSpaceAdd(StoragelocationAddVo storagelocationAddVo);
    /*库位分页查询接口*/
    ResultVo roomSpaceQuerypage(StoragelocationSelectVo storagelocationSelectVo);
    /*库位修改接口*/
    ResultVo roomSpaceUpdate(StoragelocationUpdateVo storagelocationUpdateVo);
    /* 库位启用/禁用接口*/
    ResultVo roomspaceUpdateStatus(WarehousemarkUpdateStatusVo warehousemarkUpdateStatusVo);
                                            /*
                                                库房归属部分
                                            */
    /*库房归属分页查询接口*/
    ResultVo belongingsQuerypage(DeoptBelongVo deoptBelongVo);
    /*库房归属查看接口*/
    DeopBelongSeeVo see(Integer legalPersonId);
    /*多条件查询库房的信息*/
    List<Warehouse> queryAllWareHouse(WarehouseSelectVo warehouseSelectVo);
    /*根据勾选的库房信息查库区信息*/
    List<Reservoirarea> queryReservoirarea(Integer warehouseid);
    /*根据勾选的库区信息查库位信息*/
    List<Storagelocation> queryStoragelocation(Integer reservoirareaid);
    /*根据法人查对应的库位库区库房信息*/
    DeopBelongSeeVo queryStoragelocationAndLegalPerson(Integer legalPersonId);
   /* *//*根据库位信息查对应的库区信息*//*
    List<Reservoirarea> queryReservoirareaAndLegalPerson(Integer storagelocationid);
    *//*根据库区信息查对应的库房信息*//*
    List<Warehouse> queryWarehouseAndLegalPerson(Integer reservoirareaid);
    *//*根据库区属性下拉框查库区信息*/
    List<Reservoirarea> queryReservoirPropertiesAndReservoir(Integer reservoirPropertiesId);
    /*库房归属新增接口*/
    ResultVo belongingsAdd(Legalpersonandstoragelocation legalpersonandstoragelocation);
    /*库房归属修改接口*/
    ResultVo belongingsUpdate(Legalpersonandstoragelocation legalpersonandstoragelocation);


}
